package com.seeyon.apps.brwh.manager;

import com.seeyon.ctp.common.exceptions.BusinessException;

import java.util.List;
import java.util.Map;

/**
 * @author ys
 * @create 2024-07-05-15:29
 */
public interface EarlyWarningManager {
    Map<String, Object> getEarlyWarningResources();

    Map<String, Object> getMoreEarlyWarningUrl();

    /**
     * 根据指定的筛选条件获取项目信息数据列表
     * 该方法用于从项目数据库中筛选出符合条件的项目信息
     * 筛选条件包括波次、项目名称、项目编码、项目经理姓名和计划结束时间
     *
     * @param waves 波次，用于按项目所属的波次进行筛选
     * @param itemName 项目名称，用于按项目的名称进行筛选，可以为空
     * @param itemCode 项目编码，用于按项目的编码进行筛选，可以为空
     * @param projectManagerName 项目经理姓名，用于按项目经理的姓名进行筛选，可以为空
     * @param planEndTime 计划结束时间，用于按项目的计划结束时间进行筛选，可以为空
     * @return 返回一个包含项目信息的列表，每个项目信息以Map形式存储，Key为信息类型，Value为具体信息
     */
    List<Map<String, Object>> getProjectInfoDataList(String waves, String itemName, String itemCode, String projectManagerName, String planEndTime) throws BusinessException;
}
